InterMail scales through its
multi-threaded servers and distributed architecture,
resulting in unbounded capacity for large volumes of
message traffic and high throughput. As a system,
InterMail is comprised of three primary servers: the
Message Transport Agent, the Message Store Server, and
the client access server. Each of these servers can be
distributed to its own machine, and multiple machines can
run each type of server.
Figure A: the major components of InterMail. The three primary types of servers are distributable and are shown here in a sample configuration for a high-end installation.
InterMail scales independently along three vertical axes-the server types-depicted in Figure A. Because no two user bases will have the same profile, it is important for the system to allow customization in the scaling to suit the particular needs of a user base. The variables for scaling correspond to the three axes:
The MTA machines are responsible for incoming and outgoing mail delivery. The MTAs allow the system to scale with respect to the number of messages delivered to and sent out of the mail system. The message traffic of the system will determine how many of these machines are needed. Load is distributed among the MTA machines via round-robin DNS. The disks on the MTA machines are mirrored to insure that messages will never be lost. In the event of an MTA machine failure, the other machines will be able to carry the load. If the machine is down for any length of time, the mail queue will be picked up from the disk or its mirror and processed.
The MSS machines are responsible for persistent storage of mail. The number of Message Store Servers required is determined by the number of users in the system. Because all MSS machines must be constantly available, a 'hot spare' server is employed. If an MSS machine fails, the system will instantly fail over to the hot spare, which assumes the identity of the machine that failed. Disks on the MSS machines are mirrored for reliability and are backed up online.
The Client Access machines are responsible for providing users access to the message stores. Client Access machines allow the system to scale as the number of users reading messages expands. The frequency and type of access will determine how many of these machines are needed. There are two major models for client access: download and connected. POP3 supports the download model in which users connect, retrieve all their mail from the server, and disconnect. IMAP4 supports a connected model in which messages are stored on the server and the client asks for a message when the user asks to read it. Load is distributed among the client access machines via round-robin DNS. There is no state kept on these machines, so if one fails, the others will absorb the load and only those users who were connected via the affected machine will lose their connections. No mail is lost.
InterMail servers are multi-threaded, allowing them to take full advantage of all hardware resources (multiple CPUs and RAM). Multi-threading allows single instances of InterMail servers to handle many simultaneous message deliveries and retrieval requests. The result is very high message throughput, supporting more users with less hardware
Learn more about InterMail: High Availability and Reliability
Home Page | Post.Office | InterMail | Visit Software.com's Web Site